/-app
/-app/boot
/-app/layout
/-app/layout/loading
/-app/layout/managed
AssemblyDetails.html
CustomAttribute.html
FieldInfo.html
MethodInfo.html
Type.html
page.css
page.html
/-app/layout/tree
/-app/layout/unmanaged
app.css
commonPage.css
pe.css
pefile.html
/-app/loaded
/-app/loading
/-app/mscorlib
Application.ts
earlyinit.js
format.ts
functions.ts
ko.ts
lateinit.js
/-core
/-headers
/-imports
/-io
BufferReader.ts
/-managed ...
/-managed/metadata
/-managed/metadata/enums
ClrDirectory.ts
ClrMetadata.ts
CodedIndexReader.ts
CodedIndexReaders.ts
MetadataStreams.ts
SignatureReader.ts
TableCompletionReader.ts
TableReader.ts
TableStream.ts
bits.ts
/-managed/tables ...
Assembly.ts
AssemblyOS.ts
AssemblyProcessor.ts
AssemblyRef.ts
AssemblyRefOS.ts
AssemblyRefProcessor.ts
ClassLayout.ts
Constant.ts
CustomAttribute.ts
DeclSecurity.ts
Event.ts
EventMap.ts
ExportedType.ts
Field.ts
FieldLayout.ts
FieldMarshal.ts
FieldRva.ts
File.ts
GenericParam.ts
GenericParamConstraint.ts
ImplMap.ts
InterfaceImpl.ts
ManfiestResource.ts
MemberRef.ts
MethodDef.ts
MethodImpl.ts
MethodSemantics.ts
MethodSpec.ts
Module.ts
ModuleRef.ts
NestedClass.ts
Param.ts
Property.ts
PropertyMap.ts
StandaloneSig.ts
TypeDef.ts
TypeRef.ts
TypeSpec.ts
AppDomain.ts
Assembly.ts
EventInfo.ts
FieldInfo.ts
MethodInfo.ts
ParameterInfo.ts
PropertyInfo.ts
Type.ts
/-typings
/-unmanaged
pe.html
pe.ts
1
module pe.managed.tables {
2
 
3
  /** ECMA-335 II.22.37 */
4
  export class TypeDef {
5
 
6
    def = new managed.Type();
7
 
8
    name: number = 0;
9
    namespace: number = 0;
10
    extends_: number = 0;
11
    fieldList: number = 0;
12
    methodList: number = 0;
13
 
14
    constructor() {
15
      this.def.isSpeculative = false;
16
    }
17
 
18
    read(reader: metadata.TableReader) {
19
      this.def.attributes = reader.readInt();
20
      this.name = reader.readString();
21
      this.namespace = reader.readString();
22
      this.extends_ = reader.readTypeDefOrRef();
23
 
24
      this.fieldList = reader.readFieldTableIndex();
25
      this.methodList = reader.readMethodDefTableIndex();
26
    }
27
 
28
    complete(reader: metadata.TableCompletionReader, nextTypeDef?: TypeDef) {
29
 
30
      this.def.name = reader.readString(this.name);
31
      this.def.namespace = reader.readString(this.namespace);
32
      this.def.baseType = reader.lookupTypeDefOrRef(this.extends_);
33
      
34
      var nextFieldList: number;
35
      if (nextTypeDef)
36
        nextFieldList = nextTypeDef.fieldList;
37
      reader.copyFieldRange(this.def.fields, this.fieldList, nextFieldList, this.def);
38
 
39
      var nextMethodList: number;
40
      if (nextTypeDef)
41
        nextMethodList = nextTypeDef.methodList;
42
      reader.copyMethodRange(this.def.methods, this.methodList, nextMethodList, this.def);
43
    }
44
  }
45
 
46
}